package com.surfilter.bean;

import java.util.List;
import java.util.Set;

import org.apache.commons.lang.StringUtils;

/**
 * 实体类：地图数据
 * 
 * @date 2017-6-26
 * @author Zhaoqifeng
 */
public class MapData implements Cloneable{
	private Long id; //ID
	private Long set_Id; //任务ID
	private String account; //账号
	private String lac; //全国溯源新增（位置区域码）
	private String sac; //全国溯源新增（服务区域码）
	private String x; //经度
	private String y; //纬度
	private Long total; //总数
	private String positionStr; //位置字符串(lac和sac)
	private String[] positions; //位置数组(lac和sac)
	private String access_Time; //访问时间
	private String line_Time_Type; //时间类型（1、上线，2、下线，3、访问）
	private String private_Ip; //IP地址
	private String startTime; //开始时间
	private String endTime; //结束时间
	private String hour; //小时时段
	private Integer timeType; //时间类型（1、时间，2、时间段）
	private Long time; //停留时间（秒）
	private int isFind; //位置是否找到（0、找到，1、未找到）
	private List<Period> list; //时间段(返回地图数据)
	private List<Param> param; //批量查询(提交参数)
	private Set<String> times; //出现时间(返回地图数据)
	
	//智能选择基站使用  第一步筛选基站经纬度范围  + url分析
	private int distance;//范围半径距离
	private String minx;//最小x
	private String maxx;//最大x
	private String miny;//最小y
	private String maxy;//最大y
	
	//234G上网日志分析时时间查看  按时间段查看
	private String startTime_day;//开始日期
	private String endTime_day;//结束日期
	private String startTime_hours;//开始时间
	private String endTime_hours;//结束时间
	
	private String address;//详细地址

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getSet_Id() {
		return set_Id;
	}

	public void setSet_Id(Long setId) {
		set_Id = setId;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getLac() {
		return lac;
	}

	public void setLac(String lac) {
		this.lac = lac;
	}

	public String getSac() {
		return sac;
	}

	public void setSac(String sac) {
		this.sac = sac;
	}

	public String getX() {
		return x;
	}

	public void setX(String x) {
		this.x = x;
	}

	public String getY() {
		return y;
	}

	public void setY(String y) {
		this.y = y;
	}

	public Long getTotal() {
		return total;
	}

	public void setTotal(Long total) {
		this.total = total;
	}

	public String getPositionStr() {
		return positionStr;
	}

	public void setPositionStr(String positionStr) {
		this.positionStr = positionStr;
		String[] positions = null;
		if(StringUtils.isNotBlank(positionStr)) {
			if(positionStr.indexOf(",") != -1) {
				String[] split = positionStr.split(",");
				int length = split.length;
				positions = new String[length];
				for(int i=0; i<length; i++) {
					positions[i] = split[i];
				}
			}else {
				positions = new String[1];
				positions[0] = positionStr;
			}
		}
		this.positions = positions;
	}

	public String[] getPositions() {
		return positions;
	}

	public void setPositions(String[] positions) {
		this.positions = positions;
	}

	public String getAccess_Time() {
		return access_Time;
	}

	public void setAccess_Time(String accessTime) {
		access_Time = accessTime;
	}

	public String getLine_Time_Type() {
		return line_Time_Type;
	}

	public void setLine_Time_Type(String lineTimeType) {
		line_Time_Type = lineTimeType;
	}

	public String getPrivate_Ip() {
		return private_Ip;
	}

	public void setPrivate_Ip(String privateIp) {
		private_Ip = privateIp;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public String getHour() {
		return hour;
	}

	public void setHour(String hour) {
		this.hour = hour;
	}

	public Integer getTimeType() {
		return timeType;
	}

	public void setTimeType(Integer timeType) {
		this.timeType = timeType;
	}

	public Long getTime() {
		return time;
	}

	public void setTime(Long time) {
		this.time = time;
	}

	public int getIsFind() {
		return isFind;
	}

	public void setIsFind(int isFind) {
		this.isFind = isFind;
	}

	public List<Period> getList() {
		return list;
	}

	public void setList(List<Period> list) {
		this.list = list;
	}

	public List<Param> getParam() {
		return param;
	}

	public void setParam(List<Param> param) {
		this.param = param;
	}
	
	public Set<String> getTimes() {
		return times;
	}

	public void setTimes(Set<String> times) {
		this.times = times;
	}

	public int getDistance() {
		return distance;
	}

	public void setDistance(int distance) {
		this.distance = distance;
	}

	public String getMinx() {
		return minx;
	}

	public void setMinx(String minx) {
		this.minx = minx;
	}

	public String getMaxx() {
		return maxx;
	}

	public void setMaxx(String maxx) {
		this.maxx = maxx;
	}

	public String getMiny() {
		return miny;
	}

	public void setMiny(String miny) {
		this.miny = miny;
	}

	public String getMaxy() {
		return maxy;
	}

	public void setMaxy(String maxy) {
		this.maxy = maxy;
	}

	public String getStartTime_day() {
		return startTime_day;
	}

	public void setStartTime_day(String startTime_day) {
		this.startTime_day = startTime_day;
	}

	public String getEndTime_day() {
		return endTime_day;
	}

	public void setEndTime_day(String endTime_day) {
		this.endTime_day = endTime_day;
	}

	public String getStartTime_hours() {
		return startTime_hours;
	}

	public void setStartTime_hours(String startTime_hours) {
		this.startTime_hours = startTime_hours;
	}

	public String getEndTime_hours() {
		return endTime_hours;
	}

	public void setEndTime_hours(String endTime_hours) {
		this.endTime_hours = endTime_hours;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Override
	public MapData clone() {
		MapData mapData = null;
		try {
			mapData = (MapData) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return mapData;
	}
}
